package iqq.bean;

/**
 * 状态
 * 
 * @author chenzhihui
 * @email chengnuo128@gmail.com
 */
public class State {
	/**
	 * 
	 * 客户端状态
	 *
	 * @author solosky <solosky772@qq.com>
	 */
	public enum ClientState {
		/**
		 * 刚刚建立没有执行过登录过程
		 */
		NEW,
		
		/**
		 * 正在登录
		 */
		LOGGING,
		
		/**
		 * 登录失败
		 */
		LOGIN_FAIL,	
		
		/**
		 * 网络出错，或者服务器连接不上
		 */
		NET_ERROR,
		
		/**
		 * 从其他客户端登录
		 */
		OTHER_LOGIN,
		
		/**
		 * 已经成功退出
		 */
		LOGOUT,
	}
	
	/**
	 * 
	 * 好友状态
	 *
	 * @author solosky <solosky772@qq.com>
	 */
	public enum BuddyState {
		
		/**
		 * 在线
		 */
		ONLINE,
		
		/**
		 * 离线
		 */
		OFFLINE,
		
		/**
		 * Q我吧
		 */
		CALLME,
		
		/**
		 * 忙碌
		 */
		BUSY,
		
		/**
		 * 离开
		 */
		AWAY,
		
		/**
		 * 静音,请勿打扰
		 */
		SILENT,
		
		/**
		 * 隐身
		 */
		HIDDEN;
		
		public static BuddyState valueOf(int state) {
			switch (state) {
			case 10:
				return BuddyState.ONLINE;
			case 20:
				return BuddyState.OFFLINE;
			case 30:
				return BuddyState.AWAY;
			case 40:
				return BuddyState.HIDDEN;
			case 50:
				return BuddyState.BUSY;
			case 60:
				return BuddyState.CALLME;
			case 70:
				return BuddyState.SILENT;
			default:
				return OFFLINE;
			}
		}
		
		public static String toLowerCase(BuddyState state) {
			return state.toString().toLowerCase();
		}
		
	}
}
